package me.zhengjie.modules.website.service;

import me.zhengjie.modules.website.domain.Theme;
import org.springframework.data.domain.Pageable;
import me.zhengjie.modules.website.domain.PageResult;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author system
 * @since 2024-10-13 09:38:00
 */
public interface  ThemeService {

    PageResult<Theme> findPage(Theme params, Pageable pageable);

    PageResult<Theme> findPage(Theme theme, LocalDateTime startDate, LocalDateTime endDate, Pageable pageable);

    List<Theme> findList(Theme params);

    Theme findById(Long id);

    Theme insert(Theme theme);

    Theme update(Theme theme);

    void delete(Long id);

    void switchTheme(Long newThemeId);

    Theme getEnabledTheme();
}